package com.lq.common.util;

/**
 * 用户上下文工具类
 * 用于在微服务间传递和存储用户信息
 */
public class UserContext {
    
    private static final ThreadLocal<String> userHolder = new ThreadLocal<>();
    
    /**
     * 设置当前用户ID
     * @param userId 用户ID
     */
    public static void setUserId(String userId) {
        userHolder.set(userId);
    }
    
    /**
     * 获取当前用户ID
     *
     * @return 用户ID
     */
    public static String getUserId() {
        return userHolder.get();
    }
    
    /**
     * 清除当前线程的用户信息
     * 防止内存泄漏
     */
    public static void clear() {
        userHolder.remove();
    }
}